package com.css.fxfzaqbz.modules.callJcData.repository;


import com.css.fxfzaqbz.base.response.RestResponse;
import com.css.fxfzaqbz.modules.callJcData.entity.Gasholder;
import com.css.fxfzaqbz.modules.callJcData.entity.TableFieldDesc;
import com.css.fxfzaqbz.modules.callJcData.param.DataVersionPageParam;
import com.css.fxfzaqbz.modules.callJcData.param.SysDataVersionPageParam;
import com.css.fxfzaqbz.modules.callJcData.vo.SitePhotoVO;
import com.css.fxfzaqbz.modules.data.entity.Site;
import com.css.fxfzaqbz.modules.data.queryParams.SiteQueryParams;
import org.springframework.data.domain.Page;

import java.sql.Timestamp;
import java.util.List;
import java.util.Map;

public interface SiteRepository {
    Site updateSite(Site site);
    Site saveSite(Site site);
    Map<String,Object> getAllSiteParams(SiteQueryParams queryParams);
    Site getSiteById(String id);
    List<Site> getSiteByName(String name);
    void deleteSitesById(List<String> ids, Timestamp timestamp,String userId);
    List<Site> getAll();
    void importExcel(List<Site> sites);

    String getCount();

    List<Site> getSiteDataView(SysDataVersionPageParam sysDataVersionPageParam);

    void byShpBatchSave(List<Site> list);

    void deleteByVersion(String versionCode);

    void updateByLsVersion(String tempVersionCode, String versionCode,Integer sf);

    List<Site> getYwData(String versionCode);

    void uploadSitePhotos(SitePhotoVO sitePhotoVO);

    List<TableFieldDesc> getByDictItemId(String dictItemId);

    void submitYwData(List<String> ids);

    void updateLs(String versionCode, String tempVersionCode);

    RestResponse getFyYwData(DataVersionPageParam dataVersionPageParam, String role);

    List<Site> getSiteNumByVersion(String versionCode);
}
